home *** CD-ROM | disk | FTP | other *** search
/ PC Graphics Unleashed / PC Graphics Unleashed.iso / ch01 / vesa.txt < prev    next >
Text File  |  1993-12-06  |  7KB  |  223 lines

  1. ----------104F00-----------------------------
  2. INT 10 - VESA SuperVGA BIOS - GET SuperVGA INFORMATION
  3.     AX = 4F00h
  4.     ES:DI -> 256-byte buffer for SuperVGA information (see below)
  5. Return: AL = 4Fh function supported
  6.     AH = status
  7.          00h successful
  8.          01h failed
  9. SeeAlso: AX=4F01h
  10.  
  11. Format of SuperVGA information:
  12. Offset  Size      Description
  13.  00h   4 BYTEs    signature ('VESA')
  14.  04h    WORD      VESA version number
  15.  06h    DWORD     pointer to OEM name
  16.  0Ah   4 BYTEs    capabilities
  17.  0Eh    DWORD     pointer to list of supported VESA and OEM video modes
  18.           Terminated with 0FFFFh.
  19.  12h   238 BYTEs  reserved
  20. ----------104F01-----------------------------
  21. INT 10 - VESA SuperVGA BIOS - GET SuperVGA MODE INFORMATION
  22.     AX = 4F01h
  23.     CX = SuperVGA video mode
  24.     ES:DI -> 256-byte buffer mode information (see below)
  25. Return: AL = 4Fh function supported
  26.     AH = status
  27.          00h successful
  28.          01h failed
  29. SeeAlso: AX=4F00h,AX=4F02h
  30.  
  31. Format of mode information:
  32. Offset Size   Description
  33.  00h   WORD   mode attributes
  34.           bit 0: mode supported
  35.           bit 1: optional information available
  36.           bit 2: BIOS output supported
  37.           bit 3: set if color, clear if monochrome
  38.           bit 4: set if graphics mode, clear if text mode
  39.  02h   BYTE   window A attributes
  40.           bit 0: exists
  41.           bit 1: readable
  42.           bit 2: writable
  43.           bits 3-7 reserved
  44.  03h   BYTE   window B attributes (as for window A)
  45.  04h   WORD   window granularity in K
  46.  06h   WORD   window size in K
  47.  08h   WORD   start segment of window A
  48.  0Ah   WORD   start segment of window B
  49.  0Ch   DWORD -> FAR window positioning function (equivalent to AX=4F05h)
  50.  10h   WORD   bytes per scan line
  51. ---remainder is optional for VESA modes, needed for OEM modes---
  52.  12h   WORD   width in pixels
  53.  14h   WORD   height in pixels
  54.  16h   BYTE   width of character cell in pixels
  55.  17h   BYTE   height of character cell in pixels
  56.  18h   BYTE   number of memory planes
  57.  19h   BYTE   number of bits per pixel
  58.  1Ah   BYTE   number of banks
  59.  1Bh   BYTE   memory model type
  60.          0 Text
  61.          1 CGA graphics
  62.          2 Hercules Graphics
  63.          3 EGA 16 color
  64.          4 Packed pixels
  65.          5 Non chain 4 256 color modes
  66.          6 Direct 15/16/24 bit
  67.          7 YUV
  68.          8-0Fh Reserved for VESA
  69.       10h-0FFh Reserved for OEM  
  70.  1Ch   BYTE   size of bank in K
  71.  1Dh   BYTE   number of image pages
  72.  1Eh   BYTE   reserved(0)
  73. ------VBE v1.2+ --------------------------
  74.  1Fh   BYTE   Red mask size
  75.  20h   BYTE   Red mask position
  76.  21h   BYTE   Green mask size
  77.  22h   BYTE   Green mask position
  78.  23h   BYTE   Blue mask size
  79.  24h   BYTE   Blue mask position
  80.  25h   BYTE   Reserved mask size
  81.  26h   BYTE   Reserved mask position
  82.  27h   BYTE   Direct Screen mode info
  83.  28h   BYTE   Res(0)  
  84.      
  85. ----------104F02-----------------------------
  86. INT 10 - VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
  87.     AX = 4F02h
  88.     BX = mode
  89.          bit 15 set means don't clear video memory
  90. Return: AL = 4Fh function supported
  91.     AH = status
  92.          00h successful
  93.          01h failed
  94. SeeAlso: AX=4F01h,AX=4F03h
  95.  
  96. Values for VESA video mode:
  97.   00h-FFh OEM video modes (see AH=00h)
  98.  100h 640x400x256
  99.  101h 640x480x256
  100.  102h 800x600x16
  101.  103h 800x600x256
  102.  104h 1024x768x16
  103.  105h 1024x768x256
  104.  106h 1280x1024x16
  105.  107h 1280x1024x256
  106.  108h 80x60 text
  107.  109h 132x25 text
  108.  10Ah 132x43 text
  109.  10Bh 132x50 text
  110.  10Ch 132x60 text
  111.  ------------ VBE v1.2+ ------------------
  112.  10Dh 320x200 32k
  113.  10Eh 320x200 64k
  114.  10Fh 320x200 16M
  115.  110h 640x480 32k
  116.  111h 640x480 64k
  117.  112h 640x480 16M
  118.  113h 800x600 32k
  119.  114h 800x600 64k
  120.  115h 800x600 16M
  121.  116h 1024x768 32k
  122.  117h 1024x768 64k
  123.  118h 1024x768 16M
  124.  119h 1280x1024 32k
  125.  11Ah 1280x1024 64k
  126.  11Bh 1280x1024 16M
  127.  
  128. ----------104F03-----------------------------
  129. INT 10 - VESA SuperVGA BIOS - GET CURRENT VIDEO MODE
  130.     AX = 4F03h
  131. Return: AL = 4Fh function supported
  132.     AH = status
  133.          00h successful
  134.          01h failed
  135.     BX = video mode (see AX=4F02h)
  136. SeeAlso: AX=4F02h
  137. ----------104F04-----------------------------
  138. INT 10 - VESA SuperVGA BIOS - SAVE/RESTORE SuperVGA VIDEO STATE
  139.     AX = 4F04h
  140.     DL = subfunction
  141.          00h get state buffer size
  142.          Return: BX = number of 64-byte blocks needed
  143.          01h save video states
  144.          ES:BX -> buffer
  145.          02h restore video states
  146.          ES:BX -> buffer
  147.     CX = flags for states to save/restore
  148.           bit 0: video hardware state
  149.           bit 1: video BIOS data state
  150.           bit 2: video DAC state
  151.           bit 3: SuperVGA state
  152. Return: AL = 4Fh function supported
  153.     AH = status
  154.          00h successful
  155.          01h failed
  156. ----------104F05-----------------------------
  157. INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
  158.     AX = 4F05h
  159.     BH = subfunction
  160.          00h select video memory window
  161.          DX = window address in video memory (in granularity units)
  162.          01h get video memory window
  163.          Return: DX = window address in video memory (in gran. units)
  164.     BL = window number
  165.          00h window A
  166.          01h window B
  167. Return: AL = 4Fh function supported
  168.     AH = status
  169.          00h successful
  170.          01h failed
  171. SeeAlso: AX=4F06h,AX=4F07h,AX=7000h/BX=0004h
  172. ----------104F06-----------------------------
  173. INT 10 - VESA SuperVGA BIOS 1.1 - GET/SET LOGICAL SCAN LINE LENGTH
  174.     AX = 4F06h
  175.     BL = function
  176.          00h set scan line length
  177.          CX = desired width in pixels
  178.          01h get scan line length
  179. Return: AL = 4Fh if function supported
  180.     AH = status
  181.          00h successful
  182.          01h failed
  183.     BX = bytes per scan line
  184.     CX = number of pixels per scan line
  185.     DX = maximum number of scan lines
  186. Notes: if the desired width is not achievable, the next larger width will be set.
  187.        The scan line may be wider than the visible area of the screen
  188.        this function is valid in text modes, provided that values are
  189.        multiplied by the character cell width/height
  190. SeeAlso: AX=4F01h,AX=4F05h,AX=4F07h
  191. ----------104F07BH00-------------------------
  192. INT 10 - VESA SuperVGA BIOS 1.1 - GET/SET DISPLAY START
  193.     AX = 4F07h
  194.     BH = 00h (reserved)
  195.     BL = 00h set display start
  196.          CX = leftmost displayed pixel in scan line
  197.          DX = first displayed scan line
  198.        = 01h get display start
  199.          Return: BH = 00h
  200.              CX = leftmost displayed pixel in scan line
  201.              DX = first displayed scan line
  202. Return: AL = 4Fh if function supported
  203.     AH = status
  204.          00h successful
  205.          01h failed
  206. Note: this function is valid in text modes, provided that values are
  207.       multiplied by the character cell width/height
  208. SeeAlso: AX=4F01h,AX=4F05h,AX=4F06h
  209. ----------104F08-----------------------------
  210. INT 10 - VESA SuperVGA BIOS v1.2+ - GET/SET DAC PALETTE CONTROL
  211.     AX = 4F08h
  212.     BL = function
  213.          00h  Set DAC palette width
  214.           BH = desired number of bits per primary color.
  215.          01h  Get DAC palette width
  216. Return: AL = 4Fh if function supported
  217.     AH = status
  218.     BH = Current number of bits per primary color (6 = Standard VGA)  
  219. ----------104FFF-----------------------------
  220. INT 10 - VESA SuperVGA BIOS - Everex - TURN VESA ON/OFF
  221.     AX = 4FFFh
  222.     DL = new state (00h off, 01h on)
  223.